Many information processing systems are configured to replicate data from a storage system at one site to a storage system at another site. In some cases, such arrangements are utilized to support disaster recovery functionality within the information processing system. For example, an enterprise may replicate data from a production data center to a disaster recovery data center. In the event of a disaster at the production site, applications can be started at the disaster recovery site using the data that has been replicated to that site so that the enterprise can continue its business.
Data replication in these and other contexts can be implemented using asynchronous replication at certain times and synchronous replication at other times. For example, asynchronous replication may be configured to periodically transfer data in multiple cycles from a source site to a target site, while synchronous replication may be configured to mirror host writes from the source site to the target site as the writes are made at the source site. Source site and target site storage systems can therefore each be configured to support both asynchronous and synchronous replication modes.
Conventional approaches to data replication can be problematic under certain conditions. For example, in performing synchronous replication in a source site storage system having a distributed storage controller, different data path modules of the distributed storage controller may be mirroring different host writes to the target site storage system in parallel with one another. Such a situation can be problematic in the presence of a replication failure on at least one of the data paths, in that it is unduly difficult to coordinate disabling of synchronous replication functionality across the different data path modules in a manner that preserves target replica consistency without undermining system performance.